package vaccine.appointment.system.family.service;

import vaccine.appointment.system.family.dataobject.Family;
import vaccine.appointment.system.family.vo.AddFamilyRequest;
import vaccine.appointment.system.family.vo.FamilyInfoVO;

import java.util.List;

/**
 * 家庭服务接口
 */
public interface FamilyService {

    Boolean add(Family family);

    Boolean delete(Integer id);

    Boolean update(Family family);

    Family selectById(Integer id);

    /**
     * 添加家属
     * @param userId 用户ID
     * @param request 添加家属请求
     * @return 是否成功
     */
    Boolean addFamily(Integer userId, AddFamilyRequest request);

    /**
     * 查询家属列表
     * @param userId 用户ID
     * @return 家属列表
     */
    List<FamilyInfoVO> getFamilyList(Integer userId);

    /**
     * 删除家属
     * @param userId 用户ID
     * @param familyId 家属关系ID
     * @return 是否成功
     */
    Boolean deleteFamily(Integer userId, Integer familyId);
}
